﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJM.SUD.AccesoDatos;
using MJM.SUD.EntidadesNegocio;

namespace MJM.SUD.ComponentesNegocio
{
    public class DireccionCN
    {

        public List<DireccionE> ListarVias(int Opcion)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            if (Opcion == 1)
            {
                List<DireccionE> lst = objDireccionAD.Listado(10);
                lst.RemoveRange(9, 12);
                return lst;
            }
            if (Opcion == 2)
                return objDireccionAD.Listado(20);
            if (Opcion == 3)
                return objDireccionAD.Listado(30);
            if (Opcion == 4)
                return objDireccionAD.Listado(40);
            return null;
        }

        public List<DireccionE> ListarViasTramite(int Opcion)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            if (Opcion == 1)
                return objDireccionAD.ListadoTramite(1);
            if (Opcion == 2)
                return objDireccionAD.ListadoTramite(2);
            if (Opcion == 3)
                return objDireccionAD.ListadoTramite(3);
            if (Opcion == 4)
                return objDireccionAD.ListadoTramite(4);
            return null;
        }

        public int RegistrarDireccion(DireccionE objDire)
        {
            if (objDire.sVia1 == "")
                return 6;

            if (objDire.SVia2 == "")
                return 7;

            if (objDire.SVia3 == "")
                return 8;

            if (objDire.SVia4 == "")
                return 9;
            /*
            if (objDire.IDVia1 == 0)
                return 2;*/

            if (objDire.IDVia2 == 0)
                return 3;

            if (objDire.IDVia3 == 0)
                return 4;

            if (objDire.IDVia4 == 0)
                return 5;

            if (objDire.Ubicacion == 0)
                return 10;

            objDire.FechaCreacion = DateTime.Now.ToLocalTime().ToString();
            objDire.FechaModificacion = objDire.FechaCreacion;
            objDire.Eliminado = 1;
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.GuardaDireccion(objDire);
        }

        public int ObtenerIDUbicacion(int Depa, int Provi, int Distri)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ObtenerIDUbiGeo(Distri, Provi, Depa);
        }

        public int CodigoDireccion(string IDPer)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ValidaDireccion(IDPer);
        }

        public List<DireccionE> ListaxPersona(String IDPersona)
        {
            DireccionAD objAD = new DireccionAD();
            return objAD.ListarxPersona(IDPersona);
        }

        public int EliminarDireccion(int IDDireccion)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.Eliminar(IDDireccion);
        }

        public List<DireccionE> ListarUbicacionDistrito(int IDVias)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ListarDireccion2(IDVias);
        }

        public String GetDireccion(int IDPerTramite)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ObtenerDirecTramite(IDPerTramite);
        }

        public int ActualizarDireTramite(DireccionE objDireccion, string DireCompleta)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ActualizarDireTramite(objDireccion, DireCompleta);
        }

        public List<DireccionE> ListarCallesJM(string calle)
        {
            DireccionAD objDireccionAD = new DireccionAD();
            return objDireccionAD.ListarDireccionNombre(calle);
        }

    }
}
